package com.ikaros.concurrency.example.singleton;

import com.ikaros.concurrency.annotations.NotThreadSafe;

/**
 * 懒汉模式 -> 线程不安全
 * 单例模式在第一次使用时进行创建
 */
@NotThreadSafe
public class SingletonLanHanNotSafe {
    //私有构造函数
    private SingletonLanHanNotSafe() {
    }

    //单例对象
    private static SingletonLanHanNotSafe instance = null;

    //静态的工厂方法
    public static SingletonLanHanNotSafe getInstance() {
        //多线程下可能创建多个实例
        if (instance == null) {
            instance = new SingletonLanHanNotSafe();
        }
        return instance;
    }
}
